package model;

import java.util.Iterator;
import java.util.List;


public class Reprodutor {
	private ListaDeReproducao musicas;
	
	public Reprodutor(ListaDeReproducao musicas){
		this.musicas = musicas;
	}
	
	public void reproduzNaOrdem(){
		Iterator <Musica> iterador = musicas.getPlayList().iterator();
		while (iterador.hasNext()){
			Musica musica = iterador.next();
			musica.reproduzMusica();
		}
	}
	
	public void reproduzAlternado() throws Exception{
		List<Musica> musicasASeremReproduzidas = musicas.getPlayList();
		while (musicasASeremReproduzidas.size() != 0){
			int numeroAleatorio = numAleatorio(musicasASeremReproduzidas.size());
			Musica musica = musicasASeremReproduzidas.get(numeroAleatorio);
			musica.reproduzMusica();
			musicasASeremReproduzidas.remove(musica);
		}
	}
	
	private static int numAleatorio(int numMax){
		int min = 0;
		int max = numMax;
		double naEscala = min + (Math.random()) * (max - min);
		int valor = (int) Math.round(naEscala);
		return valor;
	}

}